package com.wzq.design.business.system.fun.dto;

import com.wzq.design.business.system.fun.entity.SysFun;
import com.wzq.ssm.parent.base.dto.BaseTreeDto;
import com.wzq.ssm.parent.util.EntityUtil;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author wangzhiqiang
 * @since 2023/6/28 16:00
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class SysFunDto extends BaseTreeDto<SysFunDto> {


    /**
     * 编号,权限标识
     */
    private String code;

    /**
     * 名称
     */
    private String name;

    /**
     * 项目id
     */
    private String productId;
    /**
     * 功能类型
     */
    private SysFun.FunType type;
    /**
     * 设备类型  web-电脑端，mobile-手机端
     *
     */
    private String deviceType;
    /**
     * 路由路径(浏览器地址栏路径)
     */
    private String path;
    /**
     * 组件路径(vue页面完整路径，省略.vue后缀)
     */
    private String component;
    /**
     * 菜单图标
     */
    private String icon;
    /**
     * 排序
     */
    private Integer sort;
    /**
     * 显示状态(1-显示;0-隐藏)
     */
    private Integer visible;


    public static SysFunDto fromDb(SysFun sysFun) {
        return EntityUtil.castDtoToModel(sysFun, SysFunDto.class);
    }

    public static SysFun toDb(SysFunDto sysFunDto) {
        return EntityUtil.castDtoToModel(sysFunDto, SysFun.class);
    }
}
